package com.ia2014.tp.portal2.vo;

import com.ia2014.tp.portal2.enums.ModulosEnum;

/**
 * VO de la clase Modulo
 * @author Ignacio Iljin
 *
 */
@SuppressWarnings("serial")
public class ModuloVO implements AbstractVO{
		
	private Integer idModulo;
	
	private String ipAddress;
	
	private String descripcion;
	
	private ModulosEnum tipoModulo;
	
	public ModuloVO(){
		
	}
	
	public Integer getIdModulo() {
		return idModulo;
	}

	public void setIdModulo(Integer idModulo) {
		this.idModulo = idModulo;
	}

	public String getIpAddress() {
		return ipAddress;
	}

	public void setIpAddress(String ipAddress) {
		this.ipAddress = ipAddress;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	public ModulosEnum getTipoModulo() {
		return tipoModulo;
	}

	public void setTipoModulo(ModulosEnum tipoModulo) {
		this.tipoModulo = tipoModulo;
	}

	@Override
	public String toString() {
		return "Modulo [idModulo=" + idModulo + ", ipAddress=" + ipAddress
				+ ", descripcion=" + descripcion + "]";
	}	
	
	
	//TODO: implementar esta logica para mostrar detalles de todos los articulos
	public ModuloLogisticaVO getModuloLogisticaVO(){
		if(this instanceof ModuloLogisticaVO) return (ModuloLogisticaVO)this;
			else return null;
	}
		
	public ModuloPortalVO getModuloPortalVO(){
		if(this instanceof ModuloPortalVO) return (ModuloPortalVO)this;
			else return null;
	}
		
	public ModuloDespachoVO getModuloDespachoVO(){
		if(this instanceof ModuloDespachoVO) return (ModuloDespachoVO)this;
			else return null;
	}

	public ModuloDepositoVO getModuloDepositoVO(){
		if(this instanceof ModuloDepositoVO) return (ModuloDepositoVO)this;
			else return null;
	}
}
